Disc drives are commonly used in workstations, personal computers, laptops and other computer systems to store large amounts of data in a form that can be made readily available to a user. In general, a disc drive comprises a magnetic disc that is rotated by a spindle motor. The surface of the disc is divided into a series of data tracks. The data tracks are spaced radially from one another across a band having an inner diameter and an outer diameter.
Each of the data tracks extends generally circumferentially around the disc and can store data in the form of magnetic transitions within the radial extent of the track on the disc surface. An interactive element, such as a magnetic transducer, is used to sense the magnetic transitions to read data, or to transmit an electric signal that causes a magnetic transition on the disc surface, to write data. The magnetic transducer includes a read/write gap that contains the active elements of the transducer at a position suitable for interaction with the magnetic surface of the disc. The radial dimension of the gap fits within the radial extent of the data track containing the transitions so that only transitions of the single track are transduced by the interactive element when the interactive element is properly centered over the respective data track.
The magnetic transducer is mounted by a head structure to a rotary actuator arm and is selectively positioned by the actuator arm over a preselected data track of the disc to either read data from or write data to the preselected data track of the disc, as the disc rotates below the transducer. The actuator arm is, in turn, mounted to a voice coil motor that can be controlled to move the actuator arm across the disc surface.
A servo system is typically used to control the position of the actuator arm to insure that the head is properly centered over the magnetic transitions during either a read or write operation. In a known servo system, servo position information is recorded on the disc surface between written data blocks, and periodically read by the head for use in a closed loop control of the voice coil motor to position the actuator arm. Such a servo arrangement is referred to as an embedded servo system.
In modern disc drive architectures utilizing an embedded servo, each data track is divided into a number of data sectors for storing fixed sized data blocks, one per sector. Associated with the data sectors are a series of servo sectors, generally equally spaced around the circumference of the data track. The servo sectors can be arranged between data sectors or arranged independently of the data sectors such that the servo sectors split data fields of the data sectors.
Each servo sector contains magnetic transitions that are arranged relative to a track centerline such that signals derived from the transitions can be used to determine head position. For example, the servo information can comprise two separate bursts of magnetic transitions, one recorded on one side of the track centerline and the other recorded on the opposite side of the track centerline. Whenever a head is over a servo sector, the head reads each of the servo bursts and the signals resulting from the transduction of the bursts are transmitted to, e.g., a microprocessor within the disc drive for processing.
When the head is properly positioned over a track centerline, the head will straddle the two bursts, and the strength of the combined signals transduced from the burst on one side of the track centerline will equal the strength of the combined signals transduced from the burst on the other side of the track centerline. The microprocessor can be used to subtract one burst value from the other each time a servo sector is read by the head. When the result is zero, the microprocessor will know that the two signals are equal, indicating that the head is properly positioned.
If the result is other than zero, then one signal is stronger than the other, indicating that the head is displaced from the track centerline and overlying one of the bursts more than the other. The magnitude and sign of the subtraction result can be used by the microprocessor to determine the direction and distance the head is displaced from the track centerline, and generate a control signal to move the actuator back towards the centerline.
Each servo sector also contains encoded information to uniquely identify the specific track location of the head. For example, each track can be assigned a unique number, which is encoded using a Gray code and recorded in each servo sector of the track. The Gray code information is used in conjunction with the servo bursts to control movement of the actuator arm when the arm is moving the head in a seek operation from a current track to a destination track containing a data field to be read or written.
The head structure also includes a slider having an air bearing surface that causes the transducer to fly above the data tracks of the disc surface due to fluid currents caused by rotation of the disc. Thus, the transducer does not physically contact the disc surface during normal operation of the disc drive to minimize wear at both the head and disc surface. The amount of distance that the transducer flies above the disc surface is referred to as the “fly height.” By maintaining the fly height of the head at an even level regardless of the radial position of the head, it is ensured that the interaction of the head and magnetic charge stored on the media will be consistent across the disc. The discs of the disc drive are mounted for rotation by a spindle motor arrangement, as is generally known in the art. The spindle motor arrangement rotates the discs of the disc drive in accordance with a drive voltage received from a spindle motor control unit. A spindle motor driver typically drives the spindle motor. A typical three-phase spindle motor includes a stator having three windings and a rotor. The rotor has magnets that provide a permanent magnet field. The spindle motor generates torque on the rotor when current flows through at least one of the windings. The torque depends upon the magnitude and direction of current flow through the windings and an angular position of the rotor relative to the stator. The functional relationship between torque and current flow and angular position is commonly depicted in a set of torque curves, each of which corresponds to a respective one of a set of commutation states.
A spindle motor control unit is responsive to control signals received from the microprocessor to generate and transmit the drive voltage to the spindle motor to cause the storage discs to rotate at an appropriate rotational velocity. Traditionally, spindle velocity control makes use of servo wedges, or address mark-to-address mark (AM-to-AM) timing to measure the velocity of the motor. Such an approach is very accurate with regard to single disc packwriter technologies, i.e. devices which write servo patterns onto discs one disc at the time, since servo patterns are written to the discs at a high resolution, such as around 5 ns or less. However, there has been a recent technology transition to multiple disc writer (MDW) technology in which discs are pre-written with servo patterns using MDW machines before they are attached to the disc array.
A problem arises with MDW discs in that the discs may be misaligned during installation into the disc array. As a result, the AM-to-AM timing may be different from one sector of the disc to another, as illustrated in FIG. 1. As shown in FIG. 1, there may be a larger arc in one sector of the disc than another sector of the disc due to an offset in the center of rotation which is the result of a misalignment of the disc. Since the AM-to-AM timing is used to measure the velocity of the disc, such a misalignment will cause errors in the measuring and control of the velocity of the disc generated by the spindle motor.
In order to provide a solution to the above problem, two approaches have generally been taken. The first approach is to construct a polynomial function that resembles the AM-to-AM timing variation in the disc using a least squares error fit method. This method requires the collection and storage of AM timings on several tracks and a number of computations to determine the coefficients of the polynomial.
The second approach is to make use of the Back Electromotive Force (BEMF) zero crossings of the spindle motor to determine the velocity of the discs. This approach is simpler and faster than the first approach since there is no reliance or dependency on information being read from the discs, i.e. long seeks are not a problem with this approach. Thus, the BEMF zero crossings approach has started to receive more interest for use in measuring and controlling the velocity of spindle motors.
However, there are factors that may cause the BEMF zero crossings approach to be inaccurate for controlling the velocity of discs in the disc drive. One such factor is the asymmetrical electrical phases of the spindle motor. This asymmetrical electrical phase of the spindle motor causes a repeatable error in the detection of BEMF zero crossings and thus, an error in the control of the velocity of the discs in the disc drive. Accordingly, it would be beneficial to have a mechanism for compensating for the errors introduced by the asymmetrical electrical phase of the spindle motor in the detection of BEMF zero crossings for controlling the velocity generated by the spindle motor. The present invention provides a solution to this and other problems, and offers other advantages over previous solution